The present invention relates to a waveform reproduction device and method capable of reproducing, in a pitch-shifted condition (i.e., with a pitch shift), compressed waveform samples stored in memory in the form of differential code or adaptive differential code. The present invention also relates to a waveform reproduction device and method capable of reproducing compressed tone waveform samples in a loop fashion by repetitively reading out part of the tone waveform samples from memory. The present invention further relates to a waveform reproduction device and method capable of reproducing a long stream of compressed tone waveform samples stored in memory.
PCM (Pulse Code Modulation) tone generators have been known, which prestore actual musical instrument tones into a waveform memory after subjecting them to PCM processing and, at the time of a performance, reproduce desired musical instrument tones by reading out the pulse-code-modulated tone waveform sample data from the waveform memory. Among examples of the conventionally-known schemes for reading out the tone waveform sample data in a pitch-shifted condition in these PCM tone generators are the so-called pitch-synchronized readout and the non-pitch-synchronized readout. The pitch-synchronized-type PCM tone generators (i.e., PCM tone generators based on the pitch-synchronized readout) are arranged to count clock pulses of a frequency corresponding to a tone pitch to be reproduced and access the waveform memory in accordance with the current clock pulse count, in cycles corresponding to the memory address values, to sequentially read out the tone waveform sample data from the memory one by one. These pitch-synchronized-type PCM tone generators can advantageously minimize non-harmonious aliasing noise because the sampling frequency defining an output rate varies in accordance with the pitch. However, with the pitch-synchronized-type PCM tone generators, problems pertaining to tonal quality would occur, because the formant (tone color) is expanded or compressed depending on the pitch to thereby cause a variation in the tone color in accordance with the reproduced pitch and also time-divisional multiplexed processing is difficult to carry out due to the sampling frequency variation. Thus, the pitch-synchronized-type PCM tone generators have the drawback that a plurality of tones can not be reproduced appropriately (without a hitch) at low costs.
The non-pitch-synchronized-type PCM tone generators (i.e., PCM tone generators based on the non-pitch-synchronized readout), on the other hand, are arranged to accumulate frequency information of a numerical value corresponding to the reproduced pitch every predetermined cycle (at a predetermined output rate) and generate a memory address corresponding to each current accumulated result so as to access the waveform memory to read out the tone waveform sample data therefrom. Because the sampling frequency defining the output rate is fixed in these non-pitch-synchronized-type PCM tone generators, the formant (tone color) does not vary despite a pitch variation and no tone color variation would occur even when the reproduction pitch changes. Further, because of the fixed sampling frequency, time-divisional multiplexed processing can be executed easily, so that a plurality of tones can be reproduced appropriately at low costs. However, the non-pitch-synchronized-type PCM tone generators have the drawback that the fixed sampling frequency would lead to undesired non-harmonious aliasing noise would occur due to the fixed sampling frequency. Nevertheless, all things considered, the non-pitch-synchronized-type PCM tone generators are more advantageous over the pitch-synchronized-type PCM tone generators and thus are being popularly used as the mainstream of the today's PCM tone generators.
However, because all PCM tone waveform samples are stored in the waveform memory just as they are, the conventional PCM tone generators would require a greater storage capacity of the waveform memory as the number of the tone colors of the tone waveform samples increases.
If the number of bits per tone waveform sample is reduced through data compression, then it would be possible to store the necessary tone waveform samples without the need to increase the storage capacity of the waveform memory. Typically, the tone waveform samples can be converted into compressed tone waveform samples through, for example, differential pulse code modulation (commonly known as "DPCM") or adaptive differential pulse code modulation (commonly known as "ADPCM"). The DPCM and ADPCM coding schemes compress each of the tone waveform samples using a prediction value generated on the basis of the preceding tone waveform sample value; namely, decoding each of the compressed tone waveform samples requires, as a prediction value, decoded waveform samples generated by decoding the preceding compressed tone waveform sample. But, in the tone generators of the non-pitch-synchronized type, some of the compressed tone waveform samples tend to be skipped (fail to be read) when the pitch gets high; thus, the preceding compressed tone waveform samples can not be read out sequentially one by one, which presents the problem that the decoding can not be performed.
Further, in the PCM tone generators entire PCM, which are designed to store PCM tone waveform samples in the waveform memory just as they are, all tone waveform samples of a sustain tone, such as a brass or stringed instrument tone, from the start to end of the waveform can not be stored in the waveform memory due to a limited storage capacity of the memory, unlike a tone of relatively short duration, such as a percussion instrument tone. Therefore, to audibly reproduce a tone whose all tone waveform samples can not be stored in the waveform memory, there has been used a "loop reproduction" technique which reproduces the tone waveform samples in a loop fashion by repetitively reading out part of the tone waveform samples from the waveform memory.
However, even where the loop reproduction is performed, a greater storage capacity of the waveform memory is required as the number of the tone colors increases, so that there arises a need to reduce the sizes of memory areas to be allocated for individual tones. The reduced memory area sizes would create a possibility of degrading the quality of the reproduced tones. Reducing the number of bits per tone waveform sample through data compression would allow the tone waveform samples of a relatively long tone to be stored in the memory area of a limited capacity. To compress the tone waveform samples, the differential pulse code modulation (DPCM) or adaptive differential pulse code modulation (ADPCM) may be used as mentioned above, which uses a prediction value generated on the basis of the preceding tone waveform value, so that, in decoding each of the compressed tone waveform samples, decoded waveform samples, generated by decoding the preceding compressed tone waveform sample, is required as a prediction value. Namely, in this case, the tone waveform samples compressed through the DPCM or ADPCM can not be decoded unless all these samples are read out sequentially one by one. When the loop reproduction is effected, however, the reproduction, upon arrival at the loop end, must loop back to the loop start location; this means that the reproduction is caused to always loop back to a particular compressed tone waveform sample at some mid point of the waveform and thus all the compressed tone waveform samples can not be decoded from the beginning of the waveform.
Further, even in the case where the allocated memory area has a limited capacity as mentioned earlier, the loop reproduction technique can appropriately reproduce a sustain tone. However, the loop reproduction technique can not appropriately reproduce a tone of relatively long duration, such as a background music sound, using such a capacity-limited memory area. Hereinafter, the function of reproducing a tone of relatively long duration will be referred to as a "long-stream reproduction" function.
Thus, in order to provide a waveform reproduction device with the long-stream reproduction function, it has been proposed to equip the reproduction device with a separate data input terminal for long-stream reproduction so that mixing is made between tone waveform samples of the long stream applied to that input terminal and tone waveform samples reproduced by the tone reproduction function and the mixed results are sequentially supplied to a digital-to-analog (D/A) converter. But, the proposed long-stream reproduction technique must feed the long stream of tone waveform samples from the outside to the reproduction device in synchronism with a reproduction rate of the reproduction device, which would unavoidably impose great loads on a higher-order device that supplies the long stream of tone waveform samples.
Further, because the long stream of tone waveform samples necessary for reproducing a tone of relatively long duration contains an enormous quantity of data, a storage device for storing such a long stream needs to have a great capacity. Thus, as one approach to permit appropriate reproduction of such a relatively long tone by use a storage device of limited capacity, it has been proposed that the long stream of tone waveform samples be converted into compressed code format to thereby store the resultant compressed tone waveform samples in the storage device and the long-stream reproduction function be used to read out the compressed tone waveform samples. But, with this proposed approach too, it is necessary for the higher-order device to feed the compressed tone waveform samples from the outside to the reproduction device in synchronism with the reproduction rate of the reproduction device. Further, this approach requires a separate decoder dedicated to reproducing the long stream, thus unavoidably resulting in increased costs.